Question: The equations of the asymptotes of a hyperbola are $y = 2x+5$ and $y = -2x+1.$ Given that the hyperbola passes through the point $(0, 7),$ the standard form for the equation of the hyperbola is \[\frac{(y-k)^2}{a^2} - \frac{(x-h)^2}{b^2} = 1,\]where $a,$ $b$, $h,$ and $k$ are constants with $a, b > 0.$ Find $a + h.$
Explanation: Solving the system $y=2x+5$ and $y=-2x+1,$ we get $(x, y) = (-1, 3).$ Therefore, the asymptotes of the hyperbola intersect at $(-1, 3),$ which must be the center of the hyperbola. Therefore, $(h, k) = (-1, 3),$ so the equation of the hyperbola is \[\frac{(y-3)^2}{a^2} - \frac{(x+1)^2}{b^2} = 1\]for some $a$ and $b.$ The equations of the asymptotes are therefore \[\frac{y-3}{a} = \pm \frac{x+1}{b},\]or \[y = 3 \pm \frac{a}{b} (x+1).\]Therefore, the slopes of the asymptotes are $\pm \frac{a}{b}.$ Because $a$ and $b$ are positive, we must have $\frac{a}{b} = 2,$ so $a = 2b.$ Therefore, the equation of the hyperbola is \[\frac{(y-3)^2}{4b^2} - \frac{(x+1)^2}{b^2} = 1.\]To find $b,$ we use the fact that the hyperbola passes through $(0, 7).$ Setting $x=0$ and $y=7$ gives the equation \[\frac{(7-3)^2}{4b^2} - \frac{(0+1)^2}{b^2} = 1,\]or $\frac{3}{b^2} = 1.$ Thus, $b = \sqrt{3},$ and so $a = 2b = 2\sqrt{3}.$ Hence the equation of the hyperbola is \[\frac{(y-3)^2}{12} - \frac{(x+1)^2}{3} = 1,\]and $a+h = \boxed{2\sqrt{3}-1}.$
[asy]
void axes(real x0, real x1, real y0, real y1)
{
	draw((x0,0)--(x1,0),EndArrow);
    draw((0,y0)--(0,y1),EndArrow);
    label("$x$",(x1,0),E);
    label("$y$",(0,y1),N);
    for (int i=floor(x0)+1; i<x1; ++i)
    	draw((i,.1)--(i,-.1));
    for (int i=floor(y0)+1; i<y1; ++i)
    	draw((.1,i)--(-.1,i));
}
path[] yh(real a, real b, real h, real k, real x0, real x1, bool upper=true, bool lower=true, pen color=black)
{
	real f(real x) { return k + a / b * sqrt(b^2 + (x-h)^2); }
    real g(real x) { return k - a / b * sqrt(b^2 + (x-h)^2); }
    if (upper) { draw(graph(f, x0, x1),color,  Arrows); }
    if (lower) { draw(graph(g, x0, x1),color,  Arrows); }
    path [] arr = {graph(f, x0, x1), graph(g, x0, x1)};
    return arr;
}
void xh(real a, real b, real h, real k, real y0, real y1, bool right=true, bool left=true, pen color=black)
{
	path [] arr = yh(a, b, k, h, y0, y1, false, false);
    if (right) draw(reflect((0,0),(1,1))*arr[0],color,  Arrows);
    if (left) draw(reflect((0,0),(1,1))*arr[1],color,  Arrows);
}
void e(real a, real b, real h, real k)
{
	draw(shift((h,k))*scale(a,b)*unitcircle);
}
size(8cm);
axes(-8,8, -6, 12);
yh(2*sqrt(3),sqrt(3),-1,3,-5,3);
dot((0,7));
dot((-1,3));
real f(real x) { return 2*x+5; }
real g(real x) { return -2*x+1; }
draw(graph(f, -5, 3) ^^ graph(g, -5, 3),dotted);
[/asy]